#ifndef CORE_RAY_H
#define CORE_RAY_H

#include "Types.h"
namespace RayTracer
{
	class Ray 
	{
	public:
		Ray() {}
		Ray(const vec3& pos, const vec3& direction)
			: position(pos), dir(direction)
		{}

		vec3 origin() const { return position; }
		vec3 direction() const { return dir; }

		vec3 at(float t) const 
		{
			return position + t * dir;
		}

	private:
		vec3 position;
		vec3 dir;
	};
}
#endif // !CORE_RAY_H
